home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib17.dsk
/
GREETER MAKER.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
90 lines
10 REM **********************
20 REM * GREETER MAKER *
30 REM * BY CHRIS GLENN *
40 REM * COPYRIGHT (C) 1983 *
50 REM * BY MICROSPARC, INC *
60 REM * LINCOLN, MA. 01773 *
70 REM **********************
110 TEXT : HOME : INVERSE : PRINT SPC( 13)"GREETER MAKER" SPC( 14): NORMAL
120 GOTO 320
130 REM DISPLAY NAMES
140 IF K = 21 THEN P = P +1: IF P >L% THEN P = 1
150 IF K = 8 THEN P = P -1: IF P <1 THEN P = L%
160 POKE 34,9: POKE 35,9: HOME : POKE 34,2: POKE 35,24
170 JJ = (P -1) *PL: FOR X = 1 TO PL:J = JJ +X: IF J >C THEN 190
180 INVERSE : PRINT CHR$(64 +X);: NORMAL : PRINT " "N$(J): NEXT
190 LL = 63 +X: RETURN
200 REM CENTERING
210 HTAB FN T(C): PRINT T$;: RETURN
220 REM RWTS
230 POKE 789,2: GOTO 250
240 POKE 789,1
250 CALL 768: POKE 72,0: RETURN
260 REM KEYPRESS WAIT
270 WAIT -RB,128: POKE -16368,0:K = PEEK( -RB): RETURN
280 REM SCREEN CLEARING
290 POKE 34,2: POKE 35,19: HOME : TEXT
300 VTAB 21: CALL -958: PRINT : RETURN
310 REM SETUP
320 CLEAR :INP$ = "":VS = PEEK(105) + PEEK(106) *256
330 POKE VS +2,240: POKE VS +3,14: POKE VS +4,64
340 DATA 169,3,160,9,32,217,3,96,0
350 DATA 1,96,1,0,17,15,251,183,0,64,0,0,1,0,254,96,1
360 FOR X = 768 TO 793: READ Y: POKE X,Y: NEXT
370 POKE 778, PEEK(47081): POKE 779, PEEK(47082):D$ = STR$( PEEK(779))
380 RB = 16384:F1 = RB +11:F7 = RB +221: DIM N$(105),C(105)
390 DEF FN T(C) = (41 - LEN(T$))/2:P = 1:PL = 10
400 POKE 34,2: FOR X = 1 TO 40:P$ = P$ +".": NEXT
410 W$ = " - PLEASE WAIT":O$ = "<O> FOR OPTIONS":Q$ = "START"
420 REM START
430 T$ = "INSERT DISK IN DRIVE " +D$: VTAB 10: GOSUB 210
440 T$ = "AND PRESS <RETURN> TO " +Q$: VTAB 12: GOSUB 210: PRINT : VTAB 16: PRINT "** COPYRIGHT 1983 BY MICROSPARC, INC. **"
450 VTAB 20: PRINT P$:T$ = O$: GOSUB 210: POKE 35,19
460 GOSUB 270: IF K = 79 THEN 880
470 IF K < >13 THEN 460
480 IF B THEN RETURN
490 HOME :T$ = "LOADING" +W$: VTAB 22: GOSUB 210
500 REM READ NAMES
510 FOR X = 15 TO 1 STEP -1: POKE 782,X: GOSUB 250:ZZ = -34
520 FOR Y = F1 TO F7 STEP 35:ZZ = ZZ +35
530 Z = PEEK(Y +33): IF Z = 0 THEN 610
540 C = C +1: IF PEEK(Y) = 255 THEN C = C -1: GOTO 600
550 Z = PEEK(Y +2): IF Z >16 THEN Z = Z -128
560 IF Z >4 THEN C = C -1: GOTO 600
570 C(C) = 6: IF Z = 0 THEN C(C) = 20: GOTO 590
580 IF Z = 4 THEN C(C) = 52
590 N$(C) = MID$ (INP$,ZZ,30)
600 NEXT : NEXT
610 L% = C/PL: IF C >L% THEN L% = L% +1
620 IF C/PL = INT(C/PL) THEN L% = L% -1
630 REM CURRENT GREETER
640 POKE 781,1: POKE 782,9: GOSUB 250:G$ = MID$ (INP$,104,30): GOSUB 300
650 VTAB 3: HTAB 1: PRINT "CURRENT GREETER:": PRINT : PRINT SPC( 2)G$
660 REM GET CHOICE
670 PRINT P$: PRINT "SELECT NEW GREETER:": GOSUB 160
680 GOSUB 300: IF L% = 1 THEN 700
690 T$ = "USE ARROWS TO SEE MORE FILES": GOSUB 210: PRINT : PRINT
700 T$ = O$: GOSUB 210
710 GOSUB 270: IF L% >1 AND (K = 21 OR K = 8) THEN GOSUB 140: GOTO 710
720 IF K = 79 THEN 880
730 IF K <65 OR K >LL THEN 710
740 F = PL *(P -1) +K -64:V = K -64 +9: IF N$(F) = G$ THEN 710
750 VTAB V: HTAB 3: INVERSE : PRINT N$(F): NORMAL
760 REM INSTALL
770 GOSUB 300:T$ = "INSTALL NEW GREETER? (Y/N)": GOSUB 210
780 GOSUB 270: IF K = 89 THEN 810
790 IF K < >78 THEN 780
800 VTAB V: HTAB 3: PRINT N$(F): GOTO 680
810 GOSUB 300:T$ = "INSTALLING" +W$: GOSUB 210
820 POKE 781,1: POKE 782,9: GOSUB 240
830 G$ = N$(F): FOR X = RB +117 TO RB +146
840 POKE X, ASC( MID$ (G$,X -RB -116,1)): NEXT : GOSUB 230
850 POKE 781,0: POKE 782,13: GOSUB 240: POKE RB +66,C(F): GOSUB 230
860 VTAB V: HTAB 3: PRINT G$: VTAB 5: PRINT SPC( 2)G$: GOTO 680
870 REM OPTIONS
880 GOSUB 290: PRINT "<S> TO START <Q> TO QUIT <B> TO BOOT"
890 GOSUB 270: IF K < >66 AND K < >81 AND K < >83 THEN 890
900 GOSUB 290: IF K = 83 THEN 320
910 IF K = 81 THEN T$ = "THANK YOU": GOSUB 210: PRINT : END
920 Q$ = "BOOT":B = 1:D$ = "1": VTAB 14: GOSUB 430: GOSUB 290
930 T$ = "BOOTING" +W$: GOSUB 210: VTAB 3: PRINT : PRINT CHR$(4)"PR#6"